package la.bbs558.service;

import com.baomidou.mybatisplus.extension.service.IService;
import la.bbs558.entity.User;
import la.bbs558.entity.vo.UserVO;
import la.bbs558.entity.params.*;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @Classname UserService
 * @Description TODO
 * @Date 2023/12/15 10:47
 * @Created by weihanmin
 */
public interface UserService extends IService<User> {
    UserVO signIn(UserSignInParams params);

    UserVO signInForMobile(UserMobileSignInParams params);

    User signInForAdmin(UserSignInParams signInParams);

    UserVO signUp(UserSignUpParams params);

    void listUserPageForAdmin(UserSearchPage searchPage);

    void searchUserByPage(UserSearchPage searchPage);

    boolean validateEmail(String email);

    void forGetPassword(UserForgetPasswordParams params);

    void updateState(User user);

    void batchRegister(List<UserSignUpParams> userSignUpParams);

    Object validatePhone(String phone);

    void setLoginDeviceName(HttpServletRequest request, boolean isMobile);
}
